﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Loja.Padrao;
using Loja.Controles.Aplicação;
using Loja.Banco;

namespace Loja.Telas
{
    public partial class ConsultaCompra : PadraoConsulta
    {
        private Controle controle;

        public ConsultaCompra(Controle controle)
        {
            this.controle = controle;
            InitializeComponent();
        }

        private void btnNovo_Click(object sender, EventArgs e)
        {
            FormCompra frm = new FormCompra(controle, new Compra());
            frm.ShowDialog(this);
            Pesquisar();
        }

        private void btnAbrir_Click(object sender, EventArgs e)
        {
            Abrir();            
        }

        private void btnPesquisar_Click(object sender, EventArgs e)
        {
            Pesquisar();
        }

        public void Pesquisar()
        {
            var compras = controle.BuscaCompra(new DateTime(dtInicio.Value.Year, dtInicio.Value.Month, dtInicio.Value.Day, 00, 00, 00), new DateTime(dtFim.Value.Year, dtFim.Value.Month, dtFim.Value.Day, 23, 59, 59));
            if (compras == null)
            {
                dgDados.DataSource = null;
            }
            else
            {
                BindingSource bs = new BindingSource();
                bs.DataSource = compras;
                dgDados.DataSource = bs;                
                dgDados.Columns[5].Visible = false;
                dgDados.Columns[7].Visible = false;
                dgDados.Columns[8].Visible = false;
                dgDados.Columns[6].HeaderText = "Finalizado";
            }
        }

        private void ConsultaCompra_KeyDown(object sender, KeyEventArgs e)
        {            
            if (Control.ModifierKeys == Keys.Alt && e.KeyCode == Keys.P)
            {
                Pesquisar();
            } 
        }

        public void Abrir()
        {
            try
            {
                FormCompra frm = new FormCompra(controle, dgDados.Rows[dgDados.CurrentRow.Index].DataBoundItem);
                frm.ShowDialog(this);
            }
            catch
            {
                MessageBox.Show("Não foi encontrado compra(s) para essa consulta!");
            }
        }
    }
}
